package com.iflytek.exam.mapper;

import java.util.List;
import com.iflytek.exam.domain.Choice;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 单选题添加Mapper接口
 *
 * @author Dogdog
 * @date 2024-07-07
 */
@Mapper
public interface ChoiceMapper
{
    /**
     * 查询单选题添加
     *
     * @param id 单选题添加主键
     * @return 单选题添加
     */
    public Choice selectChoiceById(Long id);

    /**
     * 查询单选题添加
     *
     * @param name 单选题添加主键
     * @return 单选题添加
     */
    public Choice selectChoiceByName(String name);
    /**
     * 查询单选题添加列表
     *
     * @param choice 单选题添加
     * @return 单选题添加集合
     */
    public List<Choice> selectChoiceList(Choice choice);

    /**
     * 新增单选题添加
     *
     * @param choice 单选题添加
     * @return 结果
     */
    public int insertChoice(Choice choice);

    /**
     * 修改单选题添加
     *
     * @param choice 单选题添加
     * @return 结果
     */
    public int updateChoice(Choice choice);

    /**
     * 删除单选题添加
     *
     * @param id 单选题添加主键
     * @return 结果
     */
    public int deleteChoiceById(Long id);

    /**
     * 批量删除单选题添加
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteChoiceByIds(Long[] ids);

    @Select("select id from tb_choice where type = 1 and qu_bank_id = #{quBankId}")
    public Long[] getAllChoiceRadioIds(@Param("quBankId") long quBankId);

    @Select("select id from tb_choice where type = 2 and qu_bank_id = #{quBankId}")
    public Long[] getAllChoiceCheckIds(@Param("quBankId") long quBankId);
}
